$(function(){
	var $tabList=$("#tab_list"),$pagebar=$("#pagebar ul"),$pageInfo=$("#page_info"),
		pageNo=1,pageSize=10,count=0;//初始值
	/**---------------封装分页方法,count:总条目数,pageNo:当前页---------------*/
	function pageit(count){
		$pagebar.empty();
		//首页和上一页
		if(pageNo==1){
			$pagebar.append("<li id='start_page' class='disabled'><a href='javascript:void(0);'>首页</a></li>");
			$pagebar.append("<li id='prev_page'  class='disabled'><a href='javascript:void(0);'>上一页</a></li>");
		}else{
			$pagebar.append("<li id='start_page' pn=1><a href='javascript:void(0);'>首页</a></li>");
			$pagebar.append("<li id='prev_page' pn="+(pageNo-1)+"><a href='javascript:void(0);'>上一页</a></li>");
		}
		var tmp=parseInt(count/10);
		var page_size=count%10==0?(tmp):(tmp+1);//总页数
		//中间数字页
		if(page_size<=5){
			//如果小于5页,则全部显示
			for(var i = 0; i <page_size; i++) {
				if(i==pageNo-1){
					$pagebar.append("<li pn="+(i+1)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
				}else{
					$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
				}
			}
		}else{
			//如果总页数大于5页,显示当前页和前后各两页以及两个...符号
			if(pageNo<3){
				for(var i = 0; i <5; i++) {
					if(i==pageNo-1){
						$pagebar.append("<li pn="+(i+1)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}else{
						$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}
				}
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
			}else if(pageNo>page_size-2){
				$pagebar.append("<li class='disabled'><a href='javascript:void(0);'>...</a></li>");
				for(var i = page_size-5; i <page_size; i++) {
					if(i==pageNo-1){
						$pagebar.append("<li pn="+(i+1)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}else{
						$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}
				}
			}else{
				for (var i = pageNo-3; i <pageNo+2; i++) {
					if(i==pageNo-1){
						$pagebar.append("<li pn="+(pageNo)+" class='active'><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}else{
						$pagebar.append("<li pn="+(i+1)+"><a href='javascript:void(0);'>"+(i+1)+"</a></li>");
					}
				}
			}
		}
		//下一页和末页
		if(page_size==0||pageNo==page_size){
			$pagebar.append("<li id='next_page' class='disabled'><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar.append("<li id='end_page' class='disabled'><a href='javascript:void(0);'>末页</a></li>");
		}else{
			$pagebar.append("<li id='next_page' pn="+(pageNo+1)+"><a href='javascript:void(0);'>下一页</a></li>");
			$pagebar.append("<li id='end_page' pn="+page_size+"><a href='javascript:void(0);'>末页</a></li>");
		}
		
		//绑定事件
		$pagebar.find("li").not(".disabled").on("click",function(){
			pageNo=parseInt($(this).attr("pn"));//更新当前页码
			reloadList();
		});
		//分页信息条
		$pageInfo.find("span").each(function(i,k){
			if(i==0){
				if(page_size==0){
					$(k).html(0);
				}else{
					$(k).html((pageNo-1)*10+1);
				}
			}else if(i==1){
				$(k).html(count>pageNo*10?pageNo*10:count);
			}else{
				$(k).html(count);
			}
		});
	}
	/**------------------加载列表---------------------*/
	var noRecord= "<font style='color:red;font-weight:bold;font-size:13px;'>无</font>";
	var params={"pageNo":1,"pageSize":pageSize};
	var authStatus = {0:"未认证",1:"已认证"};
	var delStatus = {0:"未删除 ",1:" 删除"};
	function reloadList(){
		params.pageNo=pageNo;
		params.pageSize=pageSize;
		$.get(serverURL+"news/getList",params,function(data){
//			data=$.parseJSON(data);
			try {
				if(data.code==0){
					data=data.data;
					$tabList.find("tbody").empty();
					count=data.pagination.totalCount;
					if(count>0){
						var html="";
						$.each(data.list,function(i,k){
							html+="<tr>" +
							"<td id='pkc'><input type='checkbox' id='"+k.newsId+"' class='checkbox' col='"+i+"' ></td>" +
							"<td>"+((pageNo-1)*10+i+1)+"</td>" +
							"<td>"+(k.name?k.name:noRecord)+"</td>"+ 
							"<td>"+(k.uploadTime?k.uploadTime:noRecord)+"</td>"+ 
							"<td>"+k.collectionCount+"</td>"+ 
							"<td>"+k.commentCount+"</td>"+ 
							"<td>"+k.browseCount+"</td>"+ 
							"<td>"+authStatus[k.authStatus]+"</td>"+ 
							"<td>"+delStatus[k.deleteStatus]+"</td>"+ 
							"</tr>";
						});
						$tabList.find("tbody").append(html);
//						$(".tools button").removeAttr("disabled");
					}else{
						$tabList.find("tbody").append("<tr><td colspan="+$("thead th").length+">无数据</td></tr>");
//						$(".tools button").not(".btn-default").attr("disabled","disabled");
					}
					pageit(count);//重绘工具栏
				}else if(data.code!=-1){
					alert("数据加载出错，请稍后重试");
				}
			} catch (e) {
				alert("数据加载出错，请稍后重试");
			}
		});
	}
	reloadList();
	//全选与取消全选
	$("#pkall").change(function(){
		if($(this).prop("checked")){
			$tabList.find("#pkc :checkbox").prop("checked",true);
		}else{
			$tabList.find("#pkc :checkbox").prop("checked",false);
		}
	});
	//获取选中的行
	function getSelectedCols(){
		return $tabList.find("#pkc :checkbox").filter(":checked");
	}

	/**---------------查询-----------------*/
	$("#btn_search").click(function(){
		params.nickName=$("#search_nickName").val();
		params.phone=$("#search_phone").val();
		pageNo=1;
		reloadList();
		return false;
	});
	/**---------------重置-----------------*/
	$("#btn_reset").click(function(){
		$("#form_search").get(0).reset();
		pageNo=1;
		reloadList();
		return false; 
	});
	
    /** ************增加文件*************** */
	var $formAdd=$("#form_add");
    $("#btn_add").click(function(){
    	$("#modal_add").modal("show");
    	addType(0);
    	$formAdd.find($("[name=cardinal]")).val(RandomNum(1,100)) ;
    	//启动上传文件的插件
    	uploader.init();
    });
    
	var $formUpload=$("#form_upload");

	function checkAddForm(){
//		if($formAdd.find($("[name=summary]")).val() == ""){
//			warnInput($("[name=file]"));
//			return false;	
//		}
		if($("[name=type]").val() == 0){
			warnInput($("[name=type]"));
			return false;
		}
		if($("[name=name]").val() == ""){
			warnInput($("[name=name]"));
			return false;
		}
		if($("[name=summary]").val() == ""){
			warnInput($("[name=summary]"));
			return false;
		}
		if($("[name=author]").val() == ""){
			warnInput($("[name=author]"));
			return false;
		}
		if($("[name=source]").val() == ""){
			warnInput($("[name=source]"));
			return false;
		}
		if($("[name=cardinal]").val() == ""){
			warnInput($("[name=cardinal]"));
			return false;
		}
		return true;
	}

	  $("#btn_confirm_add").click(function() {
		if (checkAddForm()) {
			typeId =$formAdd.find($("[name=type]")).val();
			content = $("textarea[name='content1']").val();
			previewPath =$("#url").val();
			author = $formAdd.find($("[name=author]")).val();
			name = $formAdd.find($("[name=name]")).val();
			summary = $formAdd.find($("[name=summary]")).val();
			source = $formAdd.find($("[name=source]")).val();
			cardinal = $formAdd.find($("[name=cardinal]")).val();
			tag = $("#tags").val();
			
			$.post(serverURL + "news/add", {"content":content,"authStatus":1,"tcId":8,"scId":typeId,"previewPath":previewPath,"author":author,"name":name,"summary":summary,"source":source,"cardinal":cardinal}, function(data) {
				if (data.code == 0) {
						$.post(serverURL + "news/tag/addBatch", {"tags":tag,"newsId":data.data}, function(data) {
							if (data.code == 0) {
								alert("添加成功");
								window.location.href="news.htm";
							} else if (data.code != -1) {
								alert("添加失败,请稍后重试");
							}
						});
				} else if (data.code != -1) {
					alert("添加失败,请稍后重试");
				}
		   });
			
//			$.ajax({ // 此处用同步处理，避免出现val()比reload早的问题
//				url : serverURL + "news/add?content="+content,
//				data:"&authStatus=1&tcId=8&scId="+typeId+"&previewPath="+previewPath+"&author="+author+"&name="+name+"&summary="+summary+"&source="+source+"&cardinal="+cardinal,
//				type : "post",
//				async : false,
//				success : function(data) {
//						if (data.code == 0) {
//							$.post(serverURL + "news/tag/addBatch", {"tags":tag,"newsId":data.data}, function(data) {
//							if (data.code == 0) {
//								alert("添加成功");
//								window.location.href="news.htm";
//							} else if (data.code != -1) {
//								alert("添加失败,请稍后重试");
//							}
//						});
//					} else if (data.code != -1) {
//						alert("数据添加失败");
//					}
//				}
//			});		
		}
	})
	

	
	/***********添加分类****************/
	function addType(type){
		$.get("news/type/list", function(data) {
			if(type == 0){
				$formAdd.find("[name=type]").empty();
			}else{
				$formEdit.find("[name=type]").empty();
			}
			$.each(data.data, function(i, obj) {
				if(type == 0){
					$formAdd.find("[name=type]").append("<option value='" + obj.scId + "'>" + obj.scName+ "</option>");
				}else {
					var option = "";
					if(type == obj.typeId){
						option +="<option value='" + obj.scId + "' selected='selected'>" + obj.scName+ "</option>";
					}else{
						option +="<option value='" + obj.scId + "'>" + obj.scName+ "</option>";
					}
					$formEdit.find("[name=type]").append(option);
				}
			});
		}, "json");
	}
	
	/**********编辑********/
	var $formEdit=$("#form_edit");
    $("#btn_edit").click(function() {
		// 获取选中的行
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length != 1) {
			alert("请选择一条记录预览");
			return;
		}
		var id = $curCol[0].id;
		$.get("news/getInfo",{"fileId":id}, function(data) {

//			alert(data.data.name);
			$formEdit.find("[name=name]").val(data.data.name);
			addType(data.data.typeId);
			addCategory($formEdit,data.data.tcId,data.data.scId);
		});
		$("#modal_edit").modal("show");
	});
	
	/***************查看详情********************/
//    $("#btn_scan").click(function() {
//		// 获取选中的行
//		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
//		if ($curCol.length != 1) {
//			alert("请选择一条记录预览");
//			return;
//		}
//		var id = $curCol[0].id;
//		alert(id);
//		window.location.href="news/tiaozhuan.htm?fileId="+id;
//		$("#modal_scan").modal("show");
//	});
    
	/**************删除************/
	$("#btn_del").click(function(){
		var $curCol = $tabList.find("#pkc :checkbox").filter(":checked");
		if ($curCol.length == 0) {
			alert("请至少选择一条记录删除");
			return;
		}
		var ids = "";
		$.each($curCol, function(i, k) {
			ids += $curCol[i].id + ",";
		})
		ids = ids.substring(0, ids.length - 1);
		$.get(serverURL + "news/del", {"ids" : ids}, function(data) {
			if (data.code == 0) {
				alert("删除成功");
				pageNo=1;
				reloadList();
			} else if (data.code != -1) {
				alert("删除失败,请稍后重试");
			}
		});
	});
	
    $("#tags").tagsInput({
        width: 'auto',
        onChange: function (elem, elem_tags) {
        },
    });
    
	/****生成随机数min ≤ r ≤ max***/
	function RandomNum(Min,Max){
	      var Range = Max - Min;
	      var Rand = Math.random();
	      var num = Min + Math.round(Rand * Range); //四舍五入
	      return num;
	}
});